The present invention relates generally to communication systems of coded data and, more specifically, to an improvement in interleaving and deinterleaving of the data.
Although the present invention will be described with respect to 3rd generation wideband code division multiple access (3G WCDMA) system, the same method can be used for interleaving and/or deinterleaving in other systems. Also for sake of brevity, the method will be described for interleavers, but is also used with deinterleavers. General and specific references will also be made to the 3G WCDMA standard 3GPP TS 25.212: “Multiplexing and channel coding (FDD).”
In communication systems, most of the well-known codes have been developed to combat against the noise that is assumed to be statistically independent. Typical channel model causing this type of noise would be AWGN (Additive White Gaussian Noise) channel. However, there are some physical channels that show bursty error characteristics, such as mutipath fading channel, in which fading often causes the signal to fall below the noise level and, thus, results in the burst type of error. For reference, see J. Proakis, Digital Communications, McGraw-Hill, 2001.
The role of interleaving is to shuffle (or to randomize) the positions of errors introduced in channels and, thus, mitigate the effects of burst type noise.
There are two channel interleavers for 3G WCDMA, namely first and second interleavers. The first interleaver takes a role of inter-frame (in transport channel) interleaving and the second interleavers for intra-frame (in physical channel) interleaving.
The classical block interleaver writes input data along the rows of a temporary matrix, and read out along the columns of the matrix. The first and second interleavers designed for CDMA are basically a block interleaver with inter-column permutations.
The present invention is a method of performing interleaving or deinterleaving in a communication system having at least one interleaver at the transmitter and at least one deinterleaver at the receiver. The method includes interleaving or deinterleaving the input bit sequence xn as follows: yn=xπn, n=0, . . . , N−1, using a bridge function between πn and n, n=0, . . . , N−1, based on a spline linear model. The bridge function is             π      n              r        j              =                  C        ×        n            -              j        ×        N            +                        P          C                ⁡                  (          j          )                      ,j=0,1, . . . , C−1, where PC(j) is the permutation pattern and rj denotes the sets of discrete time intervals. Thus, the interleaving or deinterleaving is             y      n              r        j              =          x                        C          ×          n                -                  j          ×          N                +                              P            C                    ⁡                      (            j            )                                ,nεrj. When the system includes a first and a second interleaving or deinterleaving, the method is performed for both. When the second interleaving or deinterleaving includes adding padding bits, the location in the interleaved or deinterleaved bit sequence of the padding bits is determined and interleaving or deinterleaving for the determined locations is skipped. Wherein y has an index m, and x has an index n, the index m is not increased, and the index n is increased for determined locations of padding.
The method can be performed without forming a matrix of the bit sequence and in software.
These and other aspects of the present invention will become apparent from the following detailed description of the invention, when considered in conjunction with accompanying drawings.